/*
 * @lc app=leetcode.cn id=3 lang=javascript
 *
 * [3] 无重复字符的最长子串
 */
/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
  // // 暴力法 时间复杂度太大（待优化）
  // let arrStr = s.split(''),
  //   maxLen = 0;

  // for (let i = 0; i < arrStr.length; i++) {
  //   const element = arrStr;
  //   deepArr(element.slice(i));
  // }

  // function deepArr(arr) {
  //   let maxArr = [];
  //   arr.forEach((ele, index) => {
  //     if (maxArr.indexOf(ele) === -1) {
  //       maxArr.push(ele);
  //       maxLen < maxArr.length ? (maxLen = maxArr.length) : null;
  //     } else {
  //       maxLen < maxArr.length ? (maxLen = maxArr.length) : null;
  //       maxArr = [];
  //       // maxArr.push(ele);
  //     }
  //     // console.log(index, ele, maxArr, maxArr.indexOf(ele) === -1);
  //   });
  // }
  // return maxLen;

  // 滑动窗口的思路
  var ls = s.charAt(0);
  var length = ls.length;
  for (i = 1; i <= s.length; i++) {
    let index = -1;
    index = ls.indexOf(s.charAt(i));
    if (index > -1) {
      length = ls.length > length ? ls.length : length;
      ls = ls.substr(index + 1); //截取最后的
    }
    ls += s.charAt(i);
    console.log(i,index,ls)
  }
  return length;
};
console.log(lengthOfLongestSubstring('abcabcbb'));
